home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / c / mc302emb.zip / LIBCF / MATH.ASM < prev    next >
Assembly Source File  |  1994-03-18  |  617b  |  30 lines

  1. *
  2. * Return ABSOLUTE VALUE of argument: int abs(int arg)
  3. *
  4. abs    LD    2,S        Get argument
  5.     AND    #$8000        Is it negative?
  6.     SJNZ    ?1        Yes, handle it
  7.     LD    2,S        Get argument back
  8.     RET
  9. ?1    LD    2,S        Get argument back
  10.     NEG            Negate
  11.     RET
  12. *
  13. * Return MAXIMUM of two arguments: int max(int arg1, int arg2)
  14. *
  15. max    LD    2,S        Get arg1
  16.     CMP    4,S        Compare with arg2
  17.     LT            Is it less
  18.     SJNZ    ?3        Yes, return arg2
  19. ?2    LD    2,S        Get arg1
  20.     RET
  21. *
  22. * Return MINIMUM of two arguments: int min(int arg1, int arg2)
  23. *
  24. min    LD    2,S        Get arg1
  25.     CMP    4,S        Compare with arg2
  26.     LT            Is it less?
  27.     SJNZ    ?2        Yes, return arg1
  28. ?3    LD    4,S        Get arg2
  29.     RET
  30.